home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / CompVObject.h < prev    next >
C/C++ Source or Header  |  1992-06-12  |  1KB  |  49 lines

  1. #ifndef CompVObject_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define CompVObject_First
  7.  
  8. #include "VObject.h"
  9.  
  10. class SeqCollection;
  11.  
  12. //---- CompositeVObject --------------------------------------------------------
  13.  
  14. enum CompositeVObjectFlags {
  15.     eCompVObjDefault    = eVObjDefault,
  16.     eCompVObjLast       = eVObjLast+0
  17. };
  18.  
  19. class CompositeVObject: public VObject {
  20.     SeqCollection *list;
  21.     bool islist;
  22. public:
  23.     MetaDef(CompositeVObject);
  24.  
  25.     CompositeVObject(int id= cIdNone, SeqCollection *cp= 0);
  26.     CompositeVObject(int id, ...);
  27.     CompositeVObject(int id, va_list ap);
  28.     ~CompositeVObject();
  29.  
  30.     int Size();
  31.     VObject *At(int n);
  32.     VObject *SetAt(int at, VObject *vop);
  33.     void Add(VObject*);
  34.     VObject *Remove(VObject*);
  35.     Iterator *MakeIterator(bool forward= TRUE);
  36.  
  37.     void SetItems(va_list ap);
  38.     void SetItems(VObject *vop, va_list ap);
  39.     void DoObserve(int, int, void*, Object*);
  40.     SeqCollection *GetList();
  41.     void SetExtent(Point);
  42.     void SetOrigin(Point);
  43.  
  44.     OStream& PrintOn(OStream&);
  45.     IStream& ReadFrom(IStream&);
  46. };
  47.  
  48. #endif
  49.